				//1. INTERSECTION 4 INFORMATION
				int[] C = new int[] {24,25,26,27,28,29,30,31,32,33,34,35,123,124,125,126,127,128,129,130,136,142,143,144,145,146,147,};
				int[] CR = new int[] {26,32,123,142,};
				int[] CS = new int[] {25,31,130,136,};
				int[] C1 = new int[] {24,27,28,29,30,33,34,35,124,125,126,127,128,129,143,144,145,146,147,};
				int[] C2 = new int[] {24,25,27,28,29,30,31,33,34,35,124,125,126,127,128,129,130,136,143,144,145,146,147,};
				int[] C3 = new int[] {24,26,27,28,29,30,32,33,34,35,123,124,125,126,127,128,129,142,143,144,145,146,147,};
				int[] CI = new int[] {27,28,29,33,34,35,127,128,129,145,146,147,};
				int[][] SignalGroup = new int[][] {{4,6,1},{4,6,0},{4,1,2},{4,2,1},{4,5,2},{4,2,0},{4,7,2},{4,4,0},{4,4,1},{4,8,0},{4,3,2},{4,8,1},};
				int[] Nstat = new int[] {16,9999999,16,16,16,16,16,9999999,31,16,32,16,41,41,41,41,16,16,32,41,49,49,49,49,16,16,48,};
				int[] Q = new int[] {3,3,3,3,3,3,3,3,6,3,6,3,9,9,9,9,3,3,6,9,9,9,9,9,3,3,9,};
				int[][] AC = new int[][] {{33,24},{127,24},{145,24},{27,30},{128,30},{146,30},{28,130},{34,130},{147,130},{29,136},{35,136},{129,136},{24,25},{30,31},{123,124},{124,125},{125,126},{142,143},{143,144},{26,27},{26,28},{26,29},{32,33},{32,34},{32,35},{126,127},{126,128},{126,129},{144,145},{144,146},{144,147},};
				int[] TL = new int[] {0,2,3,4,6,8,10,11,};
				int[][] CO = new int[][] {{10,2},{10,0},{10,7},{10,4},{10,3},{9,2},{9,0},{9,6},{9,4},{9,3},{2,6},{2,7},{2,3},{0,6},{0,7},{0,4},{6,4},{6,3},{7,4},{7,3},};
				int[][] RT = new int[][] {{1,0},{5,3},{7,8},{9,11},};
				int[] gMIN = new int[] {3,3,1,3,1,3,1,3,3,3,1,3,};
				int[] gMAX = new int[] {10,10,10,10,10,10,10,10,10,10,10,10,};
				double[] B_Car = new double[] {0.39,0.38,0.23,0.20,0.44,0.36,0.04,0.12,0.84,0.03,0.09,0.88,};
				double[] B_Bus = new double[] {1.00,0.00,0.00,1.00,0.00,0.00,0.00,0.00,1.00,0.00,0.00,1.00,};
				int[][] PubPath = new int[][] {{26,27,30,31,},{32,33,24,25,},{123,124,125,126,129,136,},{142,143,144,147,130,},};
				double[] LB = new double[] {696.60,1047.86,0.00,350.75,-1.00,-1.00,702.75,1051.45,0.00,344.60,-1.00,-1.00,0.00,298.52,597.03,895.55,-1.00,-1.00,1194.06,1427.13,1546.06,0.00,358.38,716.75,-1.00,-1.00,1075.13,};
				double[] UB = new double[] {1047.86,1399.13,350.75,702.75,-1.00,-1.00,1051.45,1400.15,344.60,696.60,-1.00,-1.00,298.52,597.03,895.55,1194.06,-1.00,-1.00,1546.06,1726.71,1902.12,358.38,716.75,1075.13,-1.00,-1.00,1427.13,};
				int[] Weight = new int[] {23,999,1,5,6,7,24,999,2,8,9,10,3,11,13,15,19,20,21,999,999,4,12,14,16,17,18,};

				//2. GLOBAL PARAMETERS FOR ALL INTERSECTIONS
				int T = 10;	//optimization time steps
				double FreeV = Math.round(40 * 5280*10/3600)/10.0; //Free flow speed (ft/s)
				double BusSpeedRatio = 0.51; //Ratio of bus speed to free flow speed (less than or equal to 1.0)
				int DeltaT = 6; //Duration of each time step
				double Rho = 0.9; //Adjustment factor for Q for bus presence
				int[] Mode = new int[] {1,2}; //Mode numbers (car, bus)
				double[] ModeOccupancy = new double[] {1.2, 10}; //Occupancy of {car, bus}
				double[] LengthVeh = new double[] {22.0,35.0}; //Vehicle length of each mode (car,bus)
				int[] VehicleTypes = new int[] {100,101,200}; //{Non-Connected Passenger, Connected Passenger, Connected Bus}
				boolean Print = false;

				